The present invention relates generally to controlling a remote procedure call. In particular, the present invention relates to controlling a remote procedure call from a client to a server.
Executions of a plurality of remote procedure calls from clients to a server may be requested almost simultaneously. In some cases, however, there is an upper limit for the number of remote procedure calls that can be simultaneously executed or the number of processes based on remote procedure calls that can be simultaneously executed. In such a case, selecting which remote procedure call is to be used or which process based on the remote procedure call is to be used is a problem.
Japanese patent application publication JP2009251665, titled “COMMUNICATION SYSTEM”, teaches a technique for increasing the number of simultaneous sessions to be more than or equal to a predetermined maximum number. It discloses a technique in which a computer specifies, for each device, a waiting time for a reply to be issued, which is a time from when a request is received to when a reply is issued, and a waiting time for a next request to be issued, which is a time from when the reply is received to when the next request is issued, and transmits, in a case where there is not a control request when a request is received from one device, a reply indicating a waiting time for a next request to be issued after a waiting time for a reply to be issued for the device has elapsed; and, upon receiving the reply, each device transmits a next request after the waiting time for the next request to be issued indicated by the reply has elapsed.
Japanese patent application JP11212780, titled “MONITORING CONTROL SYSTEM APPLICATION GROUP DEVELOPMENT METHOD, AND APPLICATION TEMPLATE DEVELOPMENT SUPPORT DEVICE”, teaches a technique relating to an application programming interface (API) call, which is an example of a remote procedure call, in which an application source code storage unit stores individual source codes of an application group; a call transition count unit reads, for each application, an application source code and counts the number of API function call transitions; a call transition count storage unit stores the count result as a transition matrix for each application; a call transition common count unit reads and compares transition matrices for each application and counts the number of API function call transition candidates that are common among application groups; and a call transition common count storage unit stores the count result as a common transition matrix.
Japanese patent application publication JP2008059494, titled “MIDDLEWARE SELECTION CONTROLLER” teaches a technique in which an information terminal downloads a new application program and middleware from an external information provider and installs them, and when the application program is started, the information terminal preferentially selects and loads middleware that enhances the execution performance of the application program from a loadable middleware group, in consideration of both the performance value of a function group provided by the middleware to the application program and usage of the application program by a user.
In the above-described case where executions of a plurality of remote procedure calls from clients to a server are requested almost simultaneously, it is desirable to select a remote procedure call based on a mode of the remote procedure call or a mode of a process based on the remote procedure call that considers an interest of a user. Various embodiments of the present invention determine a mode of a remote procedure call or a mode of a process based on the remote procedure call that considers of an interest of a user.